home *** CD-ROM | disk | FTP | other *** search
- // GETINFO SCRIPTING
- // www.7arte.net
- //Script feito pelo O Guardiπo versπo 2.0 Beta 3
- //23-02-2004
-
-
- (***************************************************
- * For use with Ant Movie Catalog 3.4.0 *
- * www.antp.be/software/moviecatalog *
- * *
- * The source code of the script can be used in *
- * another program only if full credits to *
- * script author and a link to Ant Movie Catalog *
- * website are given in the About box or in *
- * the documentation of the program *
- * *
- * Please dont remove credits *
- * Reportem os erros para bruno_mga@hotmail.com *
- ***************************************************)
- program arte;
- const
- BaseAddress = 'www.7arte.net/';
- ManualPictureSelect = True;
- ExternalPictures = False;
- var
- MovieName: string;
-
- function UpFirstLetterWord(texto:string):string; //Function Made By O Guardiπo
- var espaco:integer;
- sst:string;
- begin
- texto:=AnsiUpFirstLetter(AnsiLowerCase(texto));
- repeat
- espaco:=Pos(' ',texto);
- sst:=AnsiUpperCase(Copy(texto,espaco+1,1));
- texto:=Copy(texto,1,espaco-1)+'/|\'+sst+Copy(texto,espaco+2,length(texto));
- until Pos(' ',texto)=0;
- texto := StringReplace(texto, '/|\', ' ');
- if Copy(texto,1,1)=' ' then//se a 1║ pos Θ espaτo
- texto:=Copy(texto,2,length(texto));
- result:=texto;
- end;
-
- function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
- var
- i: Integer;
- begin
- result := -1;
- if StartAt < 0 then
- StartAt := 0;
- for i := StartAt to List.Count-1 do
- if Pos(Pattern, List.GetString(i)) <> 0 then
- begin
- result := i;
- Break;
- end;
- end;
- function HTMLRemove(Value: String): String;
- begin
- HTMLDecode(Value);
- HTMLRemoveTags(Value);
- Value := Trim(Value);
- result := Value;
- end;
- procedure AnalyzeFilmPage(Address: String);
- var
- Page : TStringList;
- Line, Value : string;
- LineNr, BeginPos, EndPos: Integer;
- AllTitles: TStringList;
- begin
- Page := TStringList.Create;
- Page.Text := GetPage('http://proxify.com/p/001110A0000110/http/'+Address);
- SetField(fieldURL, Address);
-
-
- //para continuar deve ser diferente destas mensagens
- if (FindLine('SERVIDOR EM EXCESSO DE CARGA', Page, 0)<>-1) and (FindLine('POR FAVOR TENTE MAIS TARDE.', Page, 0)<>-1) then
- showmessage('Servidor encontra-se indisponivel.')
- else
- begin
- //modo alternativo para obter o nome traduzido
- LineNr := FindLine('Critique o Filme', Page, 0);
- if LineNr<>-1 then
- begin
- Value := Page.GetString(LineNr);
- value:=HTMLRemove(value);
- value:=Copy(value,17,length(value));
- SetField(fieldTranslatedTitle, Value);
- end
- else
- begin
- //nome traduzido do filme
- LineNr := FindLine('<FONT FACE="Arial,Helvetica"><FONT SIZE=+1>', Page, 0);
- Value := Page.GetString(LineNr);
- value:=HTMLRemove(value);
- Value:=UpFirstLetterWord(Value);
- SetField(fieldTranslatedTitle, Value);
- end;
-
- //nome original do filme
- LineNr := FindLine('<FONT FACE="Arial,Helvetica"><FONT SIZE=+1>', Page, 0);
- value:= Page.GetString(LineNr+1);
- Value := HTMLRemove(Value);
- SetField(fieldOriginalTitle, Value);
-
- //pontuaτπo
- LineNr := FindLine('<FONT SIZE=-1 FACE="Arial,Helvetica"><B>', Page, 0);
- Value := Page.GetString(LineNr);
- value:=HTMLRemove(value);
- if (pos('.',value)<>-1) then
- BeginPos:=StrToInt(copy(value,3,1),0);
- if BeginPos>4 then
- value:=IntToStr(1+StrToInt(Copy(value,1,1),0))
- else
- value:=Copy(value,1,1);
- SetField(fieldRating, Value);
-
- //realizador
- LineNr := FindLine('>Realizador:</', Page, 0);
- Value := HTMLRemove(Page.GetString(LineNr));
- value:=Copy(value,13,length(value));
- SetField(fieldDirector, Value);
-
- //actores
- Line:='';
- // LineNr := FindLine('<B>╗</B> <a>', Page, 0);
- LineNr := FindLine('<B>Actores:</B><BR><FONT Size=-1>', Page, 0);
- lineNr:=lineNr+1;
- repeat
- value:=Page.GetString(LineNr);
- if line<>'' then line:=line+', '; // virgula entre cada nome
- Line:=line+Copy(HTMLRemove(value),3,length(value));
- lineNr:=lineNr+1;
- value:=Page.GetString(LineNr);
- // until pos('<B>╗</B> <a>',value)=0;
- until pos('</FONT></TD>',value)<> 0;
- SetField(fieldActors, Line);
-
- //ano
- LineNr := FindLine('><B>Ano:</B>', Page, 0);
- value:=Copy(HTMLRemove(Page.GetString(LineNr)),6,length(value));
- SetField(fieldYear, value);
-
- //duraτπo
- LineNr := FindLine('<B>Duraτπo:</B> <FONT SIze=-1>', Page, 0);
- value:=HTMLRemove(Page.GetString(LineNr));
- Value := StringReplace(Value, 'Duraτπo: ', '');
- Value := StringReplace(Value, ' minutos', '');
- SetField(fieldLength, value);
-
- //genero
- LineNr := FindLine('<B>GΘnero:</B> <FONT SIze=-1>', Page, 0);
- value:=HTMLRemove(Page.GetString(LineNr));
- Value := StringReplace(Value, 'GΘnero: ', '');
- SetField(fieldCategory, value);
-
- //paφs
- LineNr := FindLine('<B>Paφs de Origem:</B> <FONT SIze=-1>', Page, 0);
- value:=HTMLRemove(Page.GetString(LineNr));
- Value := StringReplace(Value, 'Paφs de Origem: ', '');
- SetField(fieldCountry, value);
-
- //descriτπo
- LineNr := FindLine('<B>Sinopse:</B><BR>', Page, 0);
- if LineNr<>-1 then
- begin
- value:='';
- repeat
- LineNr:=LineNr+1;
- value:=value+Page.GetString(LineNr);
- until Pos('</TD>', Page.GetString(LineNr)) <> 0; //ate encontrar o </Td>
- value:=HTMLRemove(value);
- Value := StringReplace(Value, ' [ www.7arte.net ]', '');
- SetField(fieldDescription, value);
- end;
-
- // Get Picture
- LineNr := FindLine('/imagens/filmes/', Page, 0);
- if LineNr > -1 then
- begin
- value := Page.GetString(LineNr);
- BeginPos := pos('src="', value)+5;
- EndPos := pos('.jpg', value);
- if endpos=0 then
- EndPos := pos('.gif', value);
- Value :=copy(value, BeginPos,4+EndPos-BeginPos);
- GetPicture(Value, False);
- end;
-
-
-
- end;
- end;
-
- procedure AnalyzePage(Address,Address2: string);
- var
- Page: TStringList;
- LineNr, StartPos, EndPos: Integer;
- Line: string;
- x:integer;
- MovieAddress, findMovieName,linedown : string;
- begin
- PickTreeClear;
- Page := TStringList.Create;
- Page.Text := GetPage(Address);
-
-
- if (pos('Resultados Encontrados', Page.Text)>0) then //search portuguese
- begin
- LineNr :=0;
- repeat
- LineNr := FindLine('/cgi-bin/filme.pl?codigo=', Page, LineNr);
- If LineNr >0 Then Begin
- Line := Page.GetString(LineNr);
- StartPos := pos('cgi-bin/filme.pl?codigo=', Line);
- EndPos := pos(')">',Line)-1;
- MovieAddress := copy(Line, StartPos, EndPos - StartPos);
- StartPos := EndPos + 15;
- StartPos := EndPos+4;
- endpos:=pos('</A><BR>',Line);
- Line:=Copy(Line,startpos,endpos);
- findmoviename:=HTMLRemove(Line);
- HTMLRemoveTags(FindMovieName);
- HTMLDecode(FindMovieName);
- PickTreeAdd(FindMovieName, BaseAddress + MovieAddress);
- LineNr := LineNr + 1;
- End;
- until (LineNr<1);
- end;
-
- Page.Text := GetPage(Address2);
-
- if (pos('Resultados Encontrados', Page.Text)>0) then //search portuguese
- begin
- LineNr :=0;
- repeat
- LineNr := FindLine('/cgi-bin/filme.pl?codigo=', Page, LineNr);
- If LineNr >0 Then Begin
- Line := Page.GetString(LineNr);
- StartPos := pos('cgi-bin/filme.pl?codigo=', Line);
- EndPos := pos(')">',Line)-1;
- MovieAddress := copy(Line, StartPos, EndPos - StartPos);
- StartPos := EndPos + 15;
- StartPos := EndPos+4;
- endpos:=pos('</A><BR>',Line);
- Line:=Copy(Line,startpos,endpos);
- findmoviename:=HTMLRemove(Line);
- HTMLRemoveTags(FindMovieName);
- HTMLDecode(FindMovieName);
- PickTreeAdd(FindMovieName, BaseAddress + MovieAddress);
- LineNr := LineNr + 1;
- End;
- until (LineNr<1);
-
-
- if PickTreeExec(Address) then begin
- AnalyzeFilmPage(Address);
- end;
- Page.Free;
- end;
- DisplayResults;
- end;
- begin
- PickListClear;
- MovieName := GetField(fieldOriginalTitle);
- if Input('Import from www.7arte.net', 'Enter the title of the movie:', MovieName) then begin
- //espaτo nπo sπo permitidos
- MovieName := StringReplace(MovieName, ' ', '%20');
- AnalyzePage('http://proxify.com/p/001110A0000110/http/www.7arte.net/cgi-bin/arq_search_orig.pl?letra=&proc='+MovieName,'http://proxify.com/p/001110A0000110/http/www.7arte.net/cgi-bin/arq_search.pl?proc='+MovieName);
- end;
- end.
-
-